
/**
 * 将页面转为PDF导出。
 * 步骤：1.通过html2canvas.js，先将页面转为canvas。
 * 		 2.将canvas转为图片。
 * 		 3.通过jspdf.debug.js，将图片导出pdf。
 * 参数：
 * 		pdfDom 需要导出为PDF的页面元素，必须为dom对象。
 * 						如document.body(整个页面)
 * 						或者document.getElementById("divId") (指定的DIV区域)
 * 						或者mini.get("xx").getEl() (指定的miniui元素)
 * 		fileName 导出的PDF文件名称
 * @param pdfDom
 * @param fileName
 * @returns
 */
function exportPDF(pdfDom,fileName){
	//1.通过html2canvas.js，先将页面转为canvas。
	html2canvas(pdfDom,{
		onrendered:function(canvas){
			//页面实际大小
			var contentWidth=canvas.width;
			var contentHeight=canvas.height;
			// 一页pdf显示html页面生成的canvas高度;
			var pageHeight=contentWidth/592.28*841.89;
			// 未生成pdf的html页面高度
			var leftHeight=contentHeight;
			// 页面偏移
			var position=0;
			// a4纸的尺寸[595.28,841.89]，html页面生成的canvas在pdf中图片的宽高
			var imgWidth=595.28;
			var imgHeight=592.28/contentWidth*contentHeight;
			//canvas转为图片
			var pageData=canvas.toDataURL('image/jpeg',1.0);
			//创建PDF对象
			var pdf=new jsPDF('','pt','a4');
			// 有两个高度需要区分，一个是html页面的实际高度，和生成pdf的页面高度(841.89)
			// 当内容未超过pdf一页显示的范围，无需分页
			if(leftHeight<pageHeight){
				pdf.addImage(pageData,'JPEG',0,0,imgWidth,imgHeight);
			}
			else{
				while(leftHeight>0){
					pdf.addImage(pageData,'JPEG',0,position,imgWidth,imgHeight)
					leftHeight-=pageHeight;
					position-=841.89;
					// 避免添加空白页
					if(leftHeight>0){
						pdf.addPage();
					}
				}
			}
			//生成PDF
			pdf.save(fileName);
		}
	})
}